package com.powerwyx.shortlink.project.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName t_link
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value ="t_link")
public class Link extends BaseEntity implements Serializable {
    /**
     * ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 域名
     */
    private String domain;

    /**
     * 短链接
     */
    private String shortUri;

    /**
     * 完整短链接
     */
    private String fullShortUrl;

    /**
     * 原始短链接
     */
    private String originUrl;

    /**
     * 点击量
     */
    private Integer clickNumber;

    /**
     * 分组标识
     */
    private String gid;

    /**
     * 网站图标
     */
    private String favicon;

    /**
     * 是否启用：0：是 1：否
     */
    private Integer enableStatus;

    /**
     * 创建类型: 0: 接口创建 1:控制台创建
     */
    private Integer createType;

    /**
     * 有效期类型: 0永久有效 1：自定义有效期
     */
    private Integer validDateType;

    /**
     * 有效期
     */
    private Date validDate;

    /**
     * 描述
     */
    @TableField("`describe`")
    private String describe;

    /**
     * 历史pv
     */
    private Integer totalPv;

    /**
     * 历史uv
     */
    private Integer totalUv;

    /**
     * 历史uip
     */
    private Integer totalUip;


    /**
     * 今日pv
     */
    @TableField(exist = false)
    private Integer todayPv;

    /**
     * 今日uv
     */
    @TableField(exist = false)
    private Integer todayUv;

    /**
     * 今日uip
     */
    @TableField(exist = false)
    private Integer todayUip;

}